#   xpath解析实例-爬取4K网美女图
#   学者  小韦
#   2022年7月2日 晚 湖南娄底青山公园散步后

import requests
from lxml import etree
import os
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/101.0.0.0 Safari/537.36'}
url = 'http://pic.netbian.com/4kmeinv/'
response = requests.get(url=url,headers=header)
#乱码解决办法之一，改请求响应编码
#response.encoding = 'utf-8'
page_text = response.content    #老师给的两个解决中文乱码的方法都不行，这个是网友给的请求content类型，解决问题给力
tree = etree.HTML(page_text)
li_list = tree.xpath('//ul[@class="clearfix"]/li')
if not os.path.exists('./绝密资料'):
    os.mkdir('./绝密资料')
for li in li_list:
    img_scr = 'http://pic.netbian.com/'+li.xpath('./a/img/@src')[0]
    img_name = li.xpath('./a/img/@alt')[0]+'.jpg'
    #通用处理中文乱码的方法
    #img_name.encode('iso-8859-1').decode('gbk')
    #请求图片
    img_data = requests.get(url=img_scr,headers=header).content
    img_path = '绝密资料/'+img_name
    with open(img_path,'wb') as fp:
        fp.write(img_data)
        print(img_name,'下载成功')


